A fork of pds-dash for selfhosted.social
1import type { RequestHandler } from './$types';
2import type { At } from '@atcute/client/lexicons';
3import { json } from '@sveltejs/kit';
4import { blueskyHandleFromDid } from '$lib/server/identity';
5
6export const GET: RequestHandler = async ({ params }) => {
7 const { did } = params;
8
9 if (!did || (!did.startsWith('did:plc:') && !did.startsWith('did:web:'))) {
10 return json({ error: 'Invalid DID format' }, { status: 400 });
11 }
12
13 try {
14 const handle = await blueskyHandleFromDid(did as At.Did);
15 return json({ handle });
16 } catch (error) {
17 console.error(`Error fetching handle for ${did}:`, error);
18 return json(
19 { error: 'Failed to fetch handle' },
20 { status: 500 }
21 );
22 }
23};